home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Unix / Shells / tcsh / Source / vmsreadme.txt < prev    next >
Encoding:
Text File  |  1994-02-21  |  6.1 KB  |  165 lines

  1. This is the info file for inclusion with the VMS port of TCSH.
  2.  
  3. ----
  4. System Requirements:
  5.  
  6.   o  VAX running VMS version V5.5 or above.
  7.  
  8.   o  VMS/Posix installed and configured with a container file system.
  9.        (^ comes free with the operating system)
  10.  
  11.   o  An /etc/termcap file that contains entries for vtxxx_series
  12.  
  13.   o  A friendly system manager.
  14.  
  15.   o  About an hour. (VS 4000/60)
  16.  
  17. ----
  18. Installation:
  19.  
  20.   1. untar the file.
  21.   2. copy the config.vms file from config/ to the directory that 
  22.      holds the tcsh source, rename to be config.h 
  23.   3. rename Makefile.vms to be Makefile
  24.   4. Type 
  25.     psx> make
  26.   5. Wait for an hour. 
  27.     a) The construction of tc.const.h will take about 20 mins 
  28.            on a vs4000/60
  29.         b) Read the man pages.(see note about man pages)
  30.  
  31.   6) If you want to install TCSH as the default shell instead of ksh add the 
  32.     following line to POSIX$USER_PARAMS.DAT    
  33.     
  34.     SHELL /usr/local/bin/tcsh 
  35.  
  36.     You may not include flags on the command line. This line is used
  37.      to create the executive mode logical name POSIX$SHELL.
  38.     In creating this logical name flags are ignored, so a login shell 
  39.          is not possible. 
  40.  
  41.   7) TCSH-VMS will use the file /etc/csh.cshrc  to provide the equivalent
  42.      of a sys$sylogin.com, suggested contents are below.
  43.         You will probably need to make this file using the SYSTEM account.
  44.  
  45. ----
  46. Notes:
  47.  
  48.   This is not a definition of the capabilities of VMS/Posix. 
  49.   Refer to `Guide to using VMS/Posix' etc...
  50.  
  51.   VMS/Posix is the OPEN part of OPEN/VMS. It consists of three
  52.   main sections. 
  53.  
  54.     - The POSIX Libraries, which are system interfaces 
  55.       adhering to the Callable Interface standards IEEE 1003.1, 
  56.       1003.1a and 1003.2 and most of 1003.4 (real time). 
  57.     - The POSIX Commands and utilities, 1003.2 (Classic Utilities)
  58.       some of the Software Development utilities. 
  59.     - The VMS/Posix Shell, a Korn Shell variant.
  60.  
  61.   TCSH has been ported to be POSIX Conformant. The one thing preventing
  62.   `Strict POSIX Conformance' is the use of Termcap routines that
  63.   require the presence of a /dev/termcap.  Once code has been written
  64.   to use the library routines tcgetattr etc, the source will be
  65.   strictly POSIX conformant.
  66.  
  67.   TCSH has certain features missing or disabled.
  68.  
  69.     - UTMP facilities, this is related to most of the
  70.       inter-user stuff like watchlog.
  71.     - Resource limit access.
  72.     - Access to passwd tag in the passwd structure. 
  73.       (use DCL for user admin functions)
  74.     - Other items may be missing or behave in an unexpected
  75.       manner. It has not been possible to test and debug all the
  76.       features of TCSH on VMS as yet.
  77.  
  78. ----
  79. Features and known bugs:
  80.  
  81. 1)  The VMS/Posix MAN command is a drop through to DCL help. 
  82.   It seems to assume it will always be running from ksh. To use define
  83.   the alias 
  84.     alias man '/bin/sh /bin/man \!*' 
  85.   in your /etc/csh.cshrc
  86.    This fixes the problem.
  87.  
  88. 2)   There is a problem with the way TCSH initialises the current working 
  89.    directory ($cwd, environment variable PWD)
  90.      Put the command 
  91.     cd 
  92.      in /etc/csh.cshrc as a workaround.
  93.    For the curious;
  94.       The version of getwd i use is the subroutine in TCSH rather than the
  95.    getcwd from the posix library.
  96.       The tcsh version xgetcwd in tc.os.c will search up the tree, by 
  97.    stat()'ing and opening the parent directory, to build up the CWD path.
  98.    All works well until it hits the root directory. At this point it is 
  99.    usually looking for a file with st_ino =0 and st_dev = 0, (the default
  100.    numbers assigned to the mount point of a VMS filesystem in the '/'
  101.    directory.) which is the first file it comes across. This, due to the 
  102.    way UCX starts is /vms. 
  103.     eg. I am in /u1/atp/fred.
  104.         xgetwd looks at '.' gets the st_ino and st_dev. goes to '..' opens 
  105.    it and gets the name associated with inode and dev from before. CWD now
  106.    holds  "fred". I now repeat the process one layer up. CWD now becomes 
  107.    "atp/fred". The problems now start with the stat of '.' at this point.
  108.    stat() returns a st_ino and st_dev of 0. - i don't know why. When i open
  109.    '..' and read it i get the first name that matches an inode of '0' and 
  110.    a device of '0' - which is /vms. now my CWD is set to be "/vms/atp/fred"
  111.    This is a problem, as /vms/atp/fred does not exist. That is my understanding
  112.    of the problem. 
  113.     This throws the history mechanism, terminal handling, and man pages 
  114.    for some reason. I worked around it by putting a 
  115.    'cd' in my /etc/csh.cshrc which effectively copies the contents of $HOME
  116.    into $PWD.
  117.  
  118. 3) termcap problem 
  119.     If the value of term is not a recognised one (vt200_series, vt300_series)
  120.    then shell utilities like 'more' will complain. Unless your /etc/termcap
  121.    has entries for vt300_series, you will not be able to use %U %B et al, and
  122.     anything else that uses the termcap entries.
  123.  
  124. 4) Line editing problem
  125.     Occasionally the line editing becomes corrupted. This is probably due
  126.    to a conflict in the use of both termios and termcap routines.
  127.  
  128. 5)  TCSH expects to be installed in /usr/local/bin - you may change this
  129.   in Makefile.vms or create /usr/local/bin.
  130.  
  131. 6)  If you have problems with reading things on the path - substitute
  132.   /bin/ for /bin in pathnames.h - VMS/Posix uses symbolic links for all
  133.   the top level directories.
  134.  
  135. 7)  If the shell complains that a command is not found check to see if
  136.   there are multiple version numbers in /bin/ eg. tar..1 tar..2 . if
  137.   there are, get the sysmanager to purge this directory.
  138.  
  139. ---------
  140. suggested csh.cshrc
  141. ---
  142. # model csh.cshrc
  143.     alias man '/bin/sh /bin/man \!*' 
  144.         cd 
  145.         set history 50
  146.         stty sane
  147. #end
  148. ---
  149.  
  150.   I read vmsnet.vms-posix, It is a low volume newsgroup, so i tend to
  151.   read all articles, if E-mail fails to work for you get me there.
  152.  
  153.   I Release the work I have done in porting this to VMS/Posix into the
  154.   public domain under the conditions imposed by the headers contained
  155.   in the source code. I accept no Liability either express or implied
  156.   for any damage or loss arising from the use or failure of this code.
  157.   Have a nice day.
  158.  
  159.   Andy Phillips 
  160.   Mullard Space Science Lab.     92/10/07
  161.   Holmbury St. Mary.         19709::atp
  162.   Surrey.             atp@uk.ac.ucl.mssl 
  163.   England.              
  164.  
  165.